1. Field of the Invention
The present invention relates in general to a printer controller capable of emulating a plurality of printers having different operation modes, and more particularly to such a printer controller capable of determining or selecting one of the operation modes, on the basis of control codes included in the print data, so that the printing operation is effected by the controller in the selected operation mode.
2. Discussion of the Prior Art
Generally, a printer operating according to a received batch of print data is adapted to perform a printing operation wherein characters such as alphabetic letters, numerals and symbols represented by character codes included in the print data are printed according to various control codes also included in the print data. Examples of such control codes that influence the printing operation are codes specifying the size of the characters, a code for carriage return and line feed motions of the printer, and a code for pagination of the printed text. For improved printing quality and versatility, most of the printers currently available are operable in two or more different operation modes, which are established by appropriate control codes included in a batch of print data received by the printers.
For instance, a printer has a plurality of operation modes which correspond to respective combinations of printing speed (high-speed printing or low-speed printing) and image resolution value (high-resolution or low-resolution, which is determined by the number of dots per inch in the case of a dot-matrix printer). Thus, the operation modes are established by respective combinations of two or more control codes, which include so-called "function-expanding control codes", each of which follow;an ESC code and which include those for specifying the printing speed and the image resolution value indicated above. In the above example, the operation modes includes, for instance, a mode in which a printing operation is effected at high speed with low image resolution powder.
The operation modes available on one type of printer are often different from those on another type of printer in some aspects or other. In other words, the combinations of the control codes or function-expanding control codes available on one type of printer may be different from those available on another type. Therefore, the appropriate type of printer must be used to perform a printing job in the desired mode. More specifically, a printing job represented by a given batch of print data must be performed on the printer having the operation mode which meets the control codes included in the print data.
In view of the inconvenience indicated above, there has been recently proposed and developed a printer adapted to be operable in operation modes which are available on other printers. When the user of the printer in question wishes to print according to a particular batch of print data, the user must select or establish one of the operation modes which meets the control codes used in that particular print data.
To select the appropriate operation modes on the above type of printer, however, the user is required to have a thorough knowledge on the individual operation modes, so that the user may establish the suitable operation mode by suitably manipulating the printer. Since the manipulation is complicated and cumbersome, the user who is unfamiliar with the operation modes may encounter difficulty in selecting the operation mode corresponding to the print data.
In the light of the prior art described above, the assignee of the present application proposed a printer controller as disclosed in pending U.S. application Ser. No. 08/181,453 filed Jan. 14, 1994 which is a continuation of Ser. No. 07/908,992, filed Jul. 6, 1992, now abandoned, which is an improvement over a printer controller as disposed in JP-A-63-216765 which corresponds to U.S. Pat. No. 4,968,159 to Sasaki et al. The printer controller proposed by the present assignee is capable of emulating a plurality of printers which operate in different operation modes. In operation, the controller analyzes mode-determinative codes included in a predetermined initial or leading portion of a received batch of print data, so as to determine one of the operation modes as an effective operation mode in which the received batch of print data is executed to perform a printing operation. The mode-determinative codes are those control codes which contribute to the determination of an operation mode in which the printer controller is operated according to the received batch of print data. Since the appropriate operation mode is automatically selected and established by the printer controller, without complicated manipulation of the printer controller, even the unexperienced user is able to use the printer controller to perform printing jobs in desired operation modes according to respective batches of print data.
However, the present applicant found a drawback in the printer controller having a function of automatic selection of an operation mode as discussed above. That is, the mere analysis of the individual mode-determinative codes included in the relevant print data is not sufficient to assure accurate determination of the suitable operation mode which meets the received batch of print data. There are some cases in which a received batch of print data include mode-determinative codes which are commonly used for different operation modes. These common mode-determinative codes may lead to erroneous determination of the effective operation mode in which the received batch of print data is executed to perform a printing operation.